#include <REGX52.h>
/**
  * @brief  初始化定时器0
  * @parm	无
  * @retval	无
  */
void Timer0Init()
{
	//TMOD选择定制器0，不可位寻址，只能一起赋值
	//高4位是定时器1，低4位是定时器0
	//从高到底分别为GATE,C/T,M1,M0，详细看说明手册
	//M1, M0 为01，选择16位定时器
	TMOD &= 0xF0; 	//高4位保持不变，低4位清零
	TMOD |= 0x01; 	//高4位保持不变，低4位为0001
	TF0 = 0; 				//溢出标志位，初始化为0，硬件置1
	TR0 = 1;				//允许中断
	//定时器初值，每当超过65535，会发生一次中断，1us + 1
	//设置初值为64535，距离超时有1000us，即1ms
	TH0 = 64535 / 256;		//高8位
	TL0 = 64535 % 256;		//低8位
	//中断开关
	ET0 = 1;				//定时器0的中断开关
	EA = 1;					//中断总开关
	PT0 = 0;				//中断优先级为低
}

////定时器0中断函数模板
//void Timer0_Rountine(void) interrupt 1
//{
//	static unsigned int timeCount = 0;
//	TH0 = 64535 / 256;
//	TL0 = 64535 % 256;
//	timeCount++;
//	if(timeCount >= 1000)
//	{
//		timeCount = 0;
//	}
//}